part of http;

class DeviceHttp {
  static HttpUtil _http = new HttpUtil();

  /**
   * 绑定设备
   * params {sn:设备码,device_type:设备类型，枚举：1血糖血压仪，2体温枪，3体脂称，默认1}
   * return 200 成功 500 失败 该设备已被绑定
   */
  static Future bind(params) async {
    var data = await _http.post('frontend/user/userDevice/bind', data: params);
    return data;
  }

  /**
   * 判断设备是否已经被绑定
   * params {sn:设备码,device_type:设备类型，枚举：1血糖血压仪，2体温枪，3体脂称，默认1}
   * return res : 0代表未被绑定，1代表被自己绑定了，2代表被别人绑定了
   */
  static Future checkBind(params) async {
    var data = await _http.get('frontend/user/userDevice/query_sn', data: params);
    return data;
  }

  /**
   * 上传体温数据
   * params {sn:设备码,origin_msg:设备原始消息,measured_at:测量时间,例如：2021-02-20 09:00:01,basic_id:家庭档案成员id(不传)，value:体温数值}
   * return 200 成功 500 失败 该设备已被绑定
   */
  static Future uploadTemperatures(params) async {
    var data = await _http.post('frontend/user/familyTemperatures', data: params);
    return data;
  }

  /**
   * 上传体脂数据
   * params {sn:设备码,origin_msg:设备原始消息,measured_at:测量时间,例如：2021-02-20 09:00:01,basic_id:家庭档案成员id(不传)，weight:体温数值,impedance:阻抗}
   * return 200 成功 500 失败 该设备已被绑定
   */
  static Future uploadBodyFats(params) async {
    var data = await _http.post('frontend/user/familyBodyFats', data: params);
    return data;
  }

  /**
   * 上传心率数据
   * params {sn:设备码,origin_msg:设备原始消息,measured_at:测量时间,例如：2021-02-20 09:00:01,basic_id:家庭档案成员id(不传)，weight:体温数值,impedance:阻抗}
   * return 200 成功 500 失败 该设备已被绑定
   */
  static Future uploadHeartRate(params) async {
    var data = await _http.post('api/frontend/user/familyHeartRates', data: params);
    return data;
  }

  ///调用示例
  // var params = {"sn":"12345678","origin_msg":"aaa","measured_at":"2021-02-25 17:34:12","weight":'120',"impedance":"1.2"};
  // DeviceHttp.uploadBodyFats(params).then((res){
  //     print("接口响应------------"+res['message'].toString());
  // });

}
